home *** CD-ROM | disk | FTP | other *** search
/ Freelog 22 / freelog 22.iso / Prog / Djgpp / GPC2952B.ZIP / doc / gpc / docdemos / recorddemo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2001-02-09  |  600 b   |  30 lines

  1. program RecordDemo;
  2.  
  3. type
  4.   FooPtr = ^Foo;
  5.  
  6.   Foo = record
  7.     Bar: Integer;
  8.     NextFoo: fooPtr;
  9.     case Choice: 1 .. 3 of
  10.       1: (a: Integer);  { These three choices may share }
  11.       2: (b: Real);     { one location in memory. }
  12.       3: (c: Char;
  13.           d: Boolean);
  14.   end;
  15.  
  16.   SmallFoo = packed record
  17.     b: 0 .. 3;
  18.     a: Integer (5);
  19.     r: Boolean
  20.   end;  { needs 1 byte }
  21.  
  22. var
  23.   f: Foo;
  24.  
  25. begin
  26.   f.b := 3.14;
  27.   WriteLn (f.a)  { yields some strange number which is part of the   }
  28.                  { internal representation of the real number `f.b'. }
  29. end.
  30.